package com.cap.bts.crmdp.dealer.masterinfo.dao;

import java.util.List;

import com.cap.bts.crmdp.dealer.masterinfo.domain.ServiceInfoDefModel;
import com.cap.bts.framework.common.dao.IBaseDao;
import com.cap.bts.framework.common.exception.AppException;

public interface IServiceInfoDefDao extends IBaseDao<ServiceInfoDefModel, Long> {

    /**
     * 服务数据新增
     * @param otherProductModel
     * @return
     * @throws AppException
     */
    public ServiceInfoDefModel insertServiceInfo(ServiceInfoDefModel serviceInfoDefModel)
                                                                                         throws AppException;

    /**
     * 删除服务数据
     * @param serviceInfoDefModel
     * @throws AppException
     */
    public void removeServiceInfoDef(ServiceInfoDefModel serviceInfoDefModel) throws AppException;

    /**
     * 查询所有的服务数据
     * @return
     * @throws AppException
     */
    public List<ServiceInfoDefModel> getAllServiceInfoDef() throws AppException;

    public List<ServiceInfoDefModel> getViewForService(String sql) throws AppException;

    /**
     * 根据服务代码查询信息
     * @param mfgrCode
     * @return
     * @throws AppException
     */
    public List<ServiceInfoDefModel> getServiceInfoDefList(String code) throws AppException;

    public boolean updateServiceInfoDefinfo(ServiceInfoDefModel serviceInfoDefModel, Long id)
                                                                                             throws AppException;
    
    /**
     * @throws AppException
     */
    public void weCareDataSynchronizationStoredProcedure() throws AppException;

	public void batchInsert(List<ServiceInfoDefModel> productDataList)throws AppException;
}
